<?php

if (!defined('WEKIT_VERSION')) {
    error_reporting(E_ERROR | E_PARSE);

    require dirname(dirname(dirname(__FILE__))).'/bootstrap.php';

    Wekit::init('windidclient');
    Wind::application('windidclient', Wekit::S());
    $database = include WINDID_BOOT.'conf/database.php';
    $windidConfig = include Wind::getRealPath('WINDID:conf.config.php', true);
    Wind::register(WINDID_PATH.'service', 'SRV');
} else {
    $windidConfig = Wekit::C('windid');
    if ($windidConfig['windid'] == 'local') {
        $database = Wind::getComponent('db')->getConfig();
        $database['tableprefix'] .= 'windid_';
        $windidConfig['connect'] = 'db';
    } else {
        $database = array(
            'dsn'         => 'mysql:host='.$windidConfig['db.host'].';dbname='.$windidConfig['db.name'].';port='.$windidConfig['db.port'],
            'user'        => $windidConfig['db.user'],
            'pwd'         => $windidConfig['db.pwd'],
            'charset'     => $windidConfig['db.charset'],
            'tableprefix' => $windidConfig['db.prefix'],
        );
    }
    $windidConfig['charset'] = Wekit::V('charset');
}

Wind::register(WINDID_PATH.'service', 'WSRV');
Wind::import('WSRV:base.WindidBaseDao');
Wind::import('WSRV:base.WindidUtility');
Wind::import('WSRV:base.WindidError');
Wind::registeComponent(array('path' => 'WIND:db.WindConnection', 'config' => $database), 'windiddb', 'singleton');

define('WINDID_CONNECT', $windidConfig['connect']);
define('WINDID_SERVER_URL', $windidConfig['serverUrl']);
define('WINDID_CLIENT_ID', $windidConfig['clientId']);
define('WINDID_CLIENT_KEY', $windidConfig['clientKey']);
define('WINDID_CLIENT_CHARSET', $windidConfig['charset']);
Wekit::createapp('windidclient', 'windid');
